Ссылки по теме

*   [Android tethering (Русский)](/index.php/Android_tethering_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Android tethering (Русский)")
*   [Программная точка доступа](/index.php/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%B0%D1%8F_%D1%82%D0%BE%D1%87%D0%BA%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0 "Программная точка доступа")
*   [Bridge with netctl](/index.php/Bridge_with_netctl "Bridge with netctl")
*   [Ad-hoc networking](/index.php/Ad-hoc_networking "Ad-hoc networking")
*   [Sharing PPP Connection](/index.php/Sharing_PPP_Connection "Sharing PPP Connection")
*   [Руководство по простой настройке брандмауэра](/index.php/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5_%D0%B1%D1%80%D0%B0%D0%BD%D0%B4%D0%BC%D0%B0%D1%83%D1%8D%D1%80%D0%B0 "Руководство по простой настройке брандмауэра")
*   [Router](/index.php/Router "Router")
*   [USB 3G-модем](/index.php/USB_3G-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BC "USB 3G-модем")

**Состояние перевода:** На этой странице представлен перевод статьи [Internet sharing](/index.php/Internet_sharing "Internet sharing"). Дата последней синхронизации: 2015-07-29\. Вы можете [помочь](/index.php/ArchWiki_Translation_Team_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "ArchWiki Translation Team (Русский)") синхронизировать перевод, если в английской версии произошли [изменения](https://wiki.archlinux.org/index.php?title=Internet_sharing&diff=0&oldid=380885).

Эта статья описывает как раздать подключение к интернету от одного компьютера одному или нескольким другим компьютерам.

## Contents

*   [1 Системные требования](#.D0.A1.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.BD.D1.8B.D0.B5_.D1.82.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F)
*   [2 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0)
    *   [2.1 Статический IP адрес](#.D0.A1.D1.82.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B9_IP_.D0.B0.D0.B4.D1.80.D0.B5.D1.81)
    *   [2.2 Разрешите пересылку пакетов](#.D0.A0.D0.B0.D0.B7.D1.80.D0.B5.D1.88.D0.B8.D1.82.D0.B5_.D0.BF.D0.B5.D1.80.D0.B5.D1.81.D1.8B.D0.BB.D0.BA.D1.83_.D0.BF.D0.B0.D0.BA.D0.B5.D1.82.D0.BE.D0.B2)
    *   [2.3 Включите NAT](#.D0.92.D0.BA.D0.BB.D1.8E.D1.87.D0.B8.D1.82.D0.B5_NAT)
    *   [2.4 Назначение ip адресов клиентским компьютерам](#.D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_ip_.D0.B0.D0.B4.D1.80.D0.B5.D1.81.D0.BE.D0.B2_.D0.BA.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D1.81.D0.BA.D0.B8.D0.BC_.D0.BA.D0.BE.D0.BC.D0.BF.D1.8C.D1.8E.D1.82.D0.B5.D1.80.D0.B0.D0.BC)
        *   [2.4.1 Назначение ip адресов вручную](#.D0.9D.D0.B0.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_ip_.D0.B0.D0.B4.D1.80.D0.B5.D1.81.D0.BE.D0.B2_.D0.B2.D1.80.D1.83.D1.87.D0.BD.D1.83.D1.8E)
*   [3 Решение проблем](#.D0.A0.D0.B5.D1.88.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC)
*   [4 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5)

## Системные требования

*   Компьютер, выступающий в роли сервера должен иметь несколько сетевых интерфейсов.
*   Сетевой интерфейс должен быть подключен к компьютеру (компьютерам), которые собираются получать доступ в интернет. Это может быть один или несколько компьютеров. Чтобы раздавать интернет нескольким компьютерам, может потребоваться [свич](https://en.wikipedia.org/wiki/ru:%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80 "wikipedia:ru:Сетевой коммутатор"). Если вы раздаёте только одной машине, вам достаточно [перекрёстного кабеля](https://en.wikipedia.org/wiki/Ethernet_crossover_cable "wikipedia:Ethernet crossover cable").

**Примечание:** Если один из двух компьютеров имеет гигабитный ethernet порт, перекрёстный кабель не обязателен, подойдёт обычный ethernet кабель.

## Настройка

В этом разделе предполагается, что сетевой интерфейс, подсоединяемый к клиентскому компьютеру (компьютерам), называется ***net0***, а сетевой интерфейс, подключенный к интернету называется ***internet0***.

**Совет:** Вы можете назвать ваши интерфейсы так же, используя [udev (Русский)#Установка постоянных имен устройств](/index.php/Udev_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.BD.D1.8B.D1.85_.D0.B8.D0.BC.D0.B5.D0.BD_.D1.83.D1.81.D1.82.D1.80.D0.BE.D0.B9.D1.81.D1.82.D0.B2 "Udev (Русский)").

### Статический IP адрес

Назначьте статический IPv4 адрес интерфейсу, подключенному к другим компьютерам. Первые 3 байта этого адреса не могут быть такими же как у другого интерфейса.

```
# ip link set up dev net0
# ip addr add 192.168.123.100/24 dev net0 # произвольный адрес

```

Чтобы статический ip был назначен при загрузке, вы можете использовать [netctl (Русский)](/index.php/Netctl_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Netctl (Русский)").

### Разрешите пересылку пакетов

Проверьте текущие настройки перенаправления пакетов:

```
# sysctl -a | grep forward

```

Вы заметите, что эта опция существует для управления переадресацией по умолчанию, на интерфейсе, а также отдельные опции для IPv4/IPv6 на интерфейсе.

Введите следующую команду для временного разрешения пересылки пакетов во время выполнения:

```
# sysctl net.ipv4.ip_forward=1

```

Чтобы разрешение на пересылку для всех интерфейсов осталось после перезагрузки, отредактируйте `/etc/sysctl.d/30-ipforward.conf`:

 `/etc/sysctl.d/30-ipforward.conf` 
```
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1

```

После этого рекомендуется дважды проверить, что после перезагрузки пересылка работает как положено.

**Примечание:** [systemd-networkd (Русский)](/index.php/Systemd-networkd_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Systemd-networkd (Русский)") предоставляет новую семантику пересылки в версии 220/221. [[1]](https://github.com/systemd/systemd/blob/a2088fd025deb90839c909829e27eece40f7fce4/NEWS) Если вы используете systemd-networkd для управления сетевыми интерфейсами, оно **перекроет** настройки `net.*.ip_forward`, по умолчанию выключив пересылку. Чтобы оно принимало вышеописанные настройки, нужно задать `IPForward=kernel` в конфигурационном файле интерфейса systemd-networkd (смотрите [systemd.network(5)](http://jlk.fjfi.cvut.cz/arch/manpages/man/systemd.network.5) для дополнительной информации).

### Включите NAT

[Установите](/index.php/Pacman_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Pacman (Русский)") пакет [iptables](https://www.archlinux.org/packages/?name=iptables) из [официальных репозиториев](/index.php/Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Official repositories (Русский)"). Используйте iptables, чтобы включитьNAT:

```
# iptables -t nat -A POSTROUTING -o internet0 -j MASQUERADE
# iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i net0 -o internet0 -j ACCEPT

```

**Примечание:** Разумеется, это тоже будет работать с мобильным широкополосном соединением (обычно называемом ppp0 на раздающем компьютере).

Прочтите статью [iptables (Русский)](/index.php/Iptables_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Iptables (Русский)") для дополнительной информации (в особенности о сохранении правил и их автоматическом применении при загрузке). Также есть отличная инструкция по iptables [Simple stateful firewall (Русский)](/index.php/Simple_stateful_firewall_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Simple stateful firewall (Русский)").

### Назначение ip адресов клиентским компьютерам

Если вы планируете регулярно подключать какие-то компьютеры для использования интернета через ваш компьютер, хорошей идеей будет установка [dhcp сервера](https://en.wikipedia.org/wiki/ru:DHCP "wikipedia:ru:DHCP").

Вы можете прочитать wiki статью [dhcpd (Русский)](/index.php/Dhcpd_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Dhcpd (Русский)"), чтобы настроить dhcp сервер. Затем установите [dhcpcd](/index.php/Dhcpcd_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Dhcpcd (Русский)") на каждый клиентский компьютер.

Если вы не планируете такое подключение на регулярной основе, вы можете задать ip адреса каждому клиенту вручную.

#### Назначение ip адресов вручную

Если вы не используете dhcp, назначьте ip адрес и шлюз по умолчанию каждому клиентскому компьютеру:

```
# ip addr add 192.168.123.201/24 dev eth0  # произвольный адрес, первые три байта должны совпадать с теми, которые вы придумали ранее
# ip link set up dev eth0
# ip route add default via 192.168.123.100 dev eth0  # тот самый адрес, который вы назначили раздающему интерфейсу

```

Укажите DNS сервер на каждом клиентском компьютере. Смотрите [resolv.conf](/index.php/Resolv.conf "Resolv.conf") для дополнительной информации.

Теперь клиентский компьютер должен иметь доступ в Internet.

## Решение проблем

Если вы можете подключить два компьютера, но не можете пересылать данные (например, если клиентский делает DHCP запрос к раздающему компьютеру, раздающий компьютер получает запрос и предлагает IP клиенту, но клиент не принимает его, а вместо этого происходит тайм аут), проверьте, что вы не имеете других [интерферирующих](https://bbs.archlinux.org/viewtopic.php?pid=1093208) правил [iptables](/index.php/Iptables_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Iptables (Русский)").

## Смотрите также

*   [Xyne's guide and scripts for launching a subnet with DHCP and DNS](http://xyne.archlinux.ca/notes/network/dhcp_with_dns.html)